# Check the status of the Fabric task.

Endpoint: GET /s2s/v2.0/task/fabric/{task_id}
Security: BearerAuthenticationV2

## Security:

  - `BearerAuthenticationV2` (unknown)
    http bearer

## Path parameters:

  - `task_id` (string, required)
    ID of task to check

## Response 200:

  - `200` (unknown)
    Successful check of the task status

## Response 200 fields (application/json):

  - `status` (integer)
    Response status
    Example: 200

  - `data` (object)

  - `data.task_status` (string)
    Status of this task
    Enum: "running", "success", "error"

  - `data.error` (string)
    Errors:
- `exceed_max_filesize`
 - Input file size exceeds the maximum limit
- `invalid_parameter`
 - Invalid parameter value
- `error_download_image`
 - Download source image error
- `error_download_mask`
 - Download mask image error
- `error_decode_image`
 - Decode source image error
- `error_decode_mask`
 - Decode mask image error
- `error_nsfw_content_detected`
 - NSFW content detected in source image
- `error_no_face`
 - No face detected on source image
- `error_pose`
 - Failed to detect pose on source image
- `error_face_parsing`
 - Failed to do face segmentation on source image
- `error_inference`
 - Inference pipeline error
- `exceed_nsfw_retry_limits`
 - Exceed the retry limits to avoid generated NSFW image
- `error_upload`
 - Upload result image error
- `unknown_internal_error`
 - Others
    Enum: "exceed_max_filesize", "invalid_parameter", "error_download_image", "error_download_mask", "error_decode_image", "error_decode_mask", "error_nsfw_content_detected", "error_no_face", "error_pose", "error_face_parsing", "error_inference", "exceed_nsfw_retry_limits", "error_upload", "unknown_internal_error"

  - `data.error_message` (string)
    Detailed description of error

  - `data.results` (object)

  - `data.results.url` (string)
    URL to download this result. Valid for 2 hours
    Example: https://example.com/sample-result-url

## Response 400:

  - `400` (unknown)
    Invalid task id

## Response 400 fields (application/json):

  - `status` (integer)
    Response status
    Example: 400

  - `error_code` (string)
    Error code:
* InvalidTaskId - Invalid task id
    Enum: "InvalidTaskId"

## Response 401:

  - `401` (unknown)
    Invalid API Key or Inactive API Key or Expired API Key

## Response 401 fields (application/json):

  - `status` (integer)
    Response status
    Example: 401

  - `error_code` (string)
    Error code:
* InvalidApiKey - API Key is not given or not valid
* InactiveApiKey - API Key is inactivated
* ExpiredApiKey - API Key is expired
    Enum: "InvalidApiKey", "InactiveApiKey", "ExpiredApiKey"

## Response 500:

  - `500` (unknown)
    The task has no response in the expected time

## Response 500 fields (application/json):

  - `status` (integer)
    Response status
    Example: 500

  - `error_code` (string)
    Error code:
* TaskTimeout - The task has no response in the expected time
    Enum: "TaskTimeout"

